package cn.ffcs.uec.staff.model;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import cn.ffcs.uec.common.vo.UecBdDefdoc;
import cn.ffcs.uec.organization.model.UecOrgOrgs;
import cn.ffcs.uom.common.model.DefaultDaoFactory;
import cn.ffcs.uom.common.model.UomEntity;
import lombok.Getter;
import lombok.Setter;
/**
 * 处罚情况
 *
 */
public class UecPunish extends UomEntity implements Serializable {

	private static final long serialVersionUID = -1050455579105531933L;

	/**
	 * 处罚情况主键
	 * 
	 */
	public Long getPunishId() {
		return super.getId();
	}

	public void setPunishId(Long punishId) {
		super.setId(punishId);
	}

	/**
	 * 员工标识
	 */
	@Getter
	@Setter
	private Long staffId;
	/**
	 * 员工类型 =1：合同制、派遣制 =2：外包自有、其他
	 */
	@Getter
	@Setter
	private String nmStaffType;
	/**
	 * 账期
	 */
	@Getter
	@Setter
	private Long monthId;
	/**
	 * 主键
	 */
	@Getter
	@Setter
    private String pkPsndocSub;
	/**
	 * 创建时间
	 */
	@Getter
	@Setter
    private String creationtime;
	/**
	 * 创建人
	 */
	@Getter
	@Setter
    private String creator;
	/**
	 * 修改时间
	 */
	@Getter
	@Setter
    private String modifiedtime;
	/**
	 * 修改人
	 */
	@Getter
	@Setter
    private String modifier;
	/**
	 * 惩罚类型
	 */
	@Getter
	@Setter
    private String punishType;
	/**
	 * 惩罚机构
	 */
	@Getter
	@Setter
    private String punishOrg;
	/**
	 * 所属组织
	 */
	@Getter
	@Setter
    private String pkOrg;
	/**
	 * 惩罚事由
	 */
	@Getter
	@Setter
    private String punishMatter;
	/**
	 * 处罚级别
	 */
	@Getter
	@Setter
    private String glbdef4;
	/**
	 * 惩罚措施
	 */
	@Getter
	@Setter
    private String punishMeas;
	/**
	 * 惩罚日期
	 */
	@Getter
	@Setter
    private String punishDate;
	/**
	 * 撤销处分时间
	 */
	@Getter
	@Setter
    private String glbdef2;
	/**
	 * 撤销处分文件依据
	 */
	@Getter
	@Setter
    private String glbdef3;
	/**
	 * 人员基本信息
	 */
	@Getter
	@Setter
    private String pkPsndoc;
	/**
	 * 时间戳
	 */
	@Getter
	@Setter
    private String ts;
	/**
	 * 删除标志
	 */
	@Getter
	@Setter
    private Long dr;
	/**
	 * 最近记录标志
	 */
	@Getter
	@Setter
    private String lastflag;


	public static UecPunish newInstance() {
		return new UecPunish();
	}
	
	
	/**
	 * 所属组织 名称
	 * @return
	 */
	public String getPkOrgName() {
		if(null != this.pkOrg) {
			String sql = " SELECT * FROM UEC_ORG_ORGS T WHERE T.PK_ORG = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.pkOrg);
			UecOrgOrgs orgOrgs = DefaultDaoFactory.getDefaultDao().jdbcFindObject(sql, params, UecOrgOrgs.class);
			return orgOrgs.getName();
		}
		return null;
	}
	
	/**
	 * 处罚级别 名称
	 * @return
	 */
	public String getGlbdef4Name() {
		if(this.getGlbdef4() != null) {
			String sql = "SELECT * FROM UEC_BD_DEFDOC WHERE PK_DEFDOC = ? ";
			List<Object> params = new ArrayList<Object>();
			params.add(this.getGlbdef4());
			List<UecBdDefdoc> list = DefaultDaoFactory.getDefaultDao().jdbcFindList(sql,
					params, UecBdDefdoc.class);
			if (list != null && list.size() > 0) {
				return list.get(0).getName();
			}
		}
		return "";
	
	}
	
	/**
	 * 删除标识 名称
	 * @return
	 */
	public String getDrName() {
		if(null != this.dr) {
			return this.dr == 0L?"否":"是";
		}
		return null;
	}
	
	/**
	 * 最近记录标识 名称
	 * @return
	 */
	public String getLastflagName() {
		if ("Y".equals(this.getLastflag())) {
			return "是";
		}else {
			return "否";
		}
		
	}

}
